package com.ruoyi.tb.lmt.domain.bo;

import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 年修/定检内容业务对象 tb_worktemplate
 *
 * @author ruoyi
 * @date 2023-11-30
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TbWorktemplateBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID 不能为空", groups = { EditGroup.class })
    private Long ID;

    /**
     * 车型
     */
    @NotBlank(message = "车型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lmtType;

    /**
     * 修别
     */
    private String repairType;

    /**
     * 轮次
     */
    private String repairTimes;

    /**
     * 检修类别
     */
    private String workKind;

    /**
     * 检修项目id
     */
    private Long workCategoryId;

    /**
     * 检修项目名称
     */
    private String workCategory;

    /**
     * 序号
     */
    private Long orderNo;

    /**
     * 检修内容
     */
    private String workName;

    /**
     * 检修模块
     */
    private String workMode;

    /**
     * 检修技术要求
     */
    private String workRequire;

    /**
     * 预计工作时间
     */
    private BigDecimal workHours;

    /**
     *
     */
    private String workGroup;

    /**
     *
     */
    private String workUser1;

    /**
     *
     */
    private String workGroup2;

    /**
     *
     */
    private String workUser2;

    /**
     *
     */
    private String workGroup3;

    /**
     *
     */
    private String workUser3;

    /**
     * 备注
     */
    private String remark;

    /**
     *
     */
    private Long workDaySeq;

    /**
     *
     */
    private String workDirectName;

    /**
     *
     */
    private String workDirectUrl;

    /**
     *
     */
    private Long iszdf;

    /**
     *
     */
    private Long ists;

    /**
     *
     */
    private Long ismustcheck;

    /**
     *
     */
    private Long ismustcheck2;

    /**
     *
     */
    private Long ismustcheck3;

    /**
     *
     */
    private String preWorkIndex;

    /**
     *
     */
    private String inspectionTopic;

    /**
     *
     */
    private String productcodes;

    /**
     * 检测项目
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String dataJson;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String formConfig;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String printConfig;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String isTestBed;

    @TableField(exist = false)
    private boolean formConfigNotNull;

    public Long workGroupId;
}
